#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e3+10;
int T,n,a[N],dp[N][N][3],maxn;
void init(){
    for(int i=1;i<N;i++){
        for(int j=1;j<N;j++)
            dp[i][j][0]=dp[i][j][1]=0;
    }
    maxn=-1;
}
signed main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);
    cin>>T;
    while(T--){
        init();
        cin>>n;
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i-2;j++){
                if(a[i]==a[i-1]){
                    dp[i][j][0]=max(dp[i-1][j][0]+a[i],dp[i][j][0]);
                    dp[i][j][1]=max(dp[i-1][j][1]+a[i],dp[i][j][1]);
                }
                else{
                    dp[i][j][0]=max(dp[i-1][j][0],dp[i][j][0]);
                    dp[i][j][1]=max(dp[i-1][j][1],dp[i][j][1]);
                }
                maxn=max({maxn,dp[i][j][0],dp[i][j][1]});
            }
            for(int j=1;j<=i-2;j++){
                dp[i][i-1][0]=max(dp[i][i-1][0],dp[i-1][j][1]+(a[i]==a[j]?a[i]:0));
                dp[i][i-1][1]=max(dp[i][i-1][1],dp[i-1][j][0]+(a[i]==a[j]?a[i]:0));
                maxn=max({maxn,dp[i][i-1][0],dp[i][i-1][1]});
            }
        }
        cout<<maxn<<endl;
    }
    return 0;
}
